#ifndef __H_MVP_TRANSPORT_IOX_PROXY_H__
#define __H_MVP_TRANSPORT_IOX_PROXY_H__

#include <memory>
#include <thread>

#include "common/macros.h"
#include "iceoryx_posh/runtime/posh_runtime.hpp"
#include "iceoryx_hoofs/posix_wrapper/signal_watcher.hpp"
#include "iceoryx_posh/popo/untyped_subscriber.hpp"
#include "iceoryx_posh/popo/publisher.hpp"

namespace motovis {
namespace transport {

class IoxProxy
{
public:
    virtual ~IoxProxy();

private:
    void exec();

    std::shared_ptr<std::thread> thread_;
    char app_name_[100] = {0};

    DECLARE_SINGLETON(IoxProxy)
};

} // namespace transport
} // namespace motovis

#endif // __H_MVP_TRANSPORT_IOX_PROXY_H__